bb1668c2b709f56e3c5436f3eb149009f3782627,modules/test/integration/src/test/java/org/elasticsearch/test/integration/search/facet/SimpleFacetsTests.java,SimpleFacetsTests,testDateHistoFacets,#,1198
Before Change
.addFacet(dateHistogramFacet("stats1").field("date").interval("day"))
.addFacet(dateHistogramFacet("stats2").field("date").interval("day").zone("-02:00"))
.addFacet(dateHistogramFacet("stats3").field("date").valueField("num").interval("day").zone("-02:00"))
.addFacet(dateHistogramFacet("stats4").field("date").valueScript("doc['num'].value * 2").interval("day").zone("-02:00"))
.execute().actionGet();
if (searchResponse.failedShards() > 0) {
logger.warn("Failed shards:");
After Change
client.admin().indices().prepareRefresh().execute().actionGet();
SearchResponse searchResponse = client.prepareSearch()
.setQuery(matchAllQuery())
.addFacet(dateHistogramFacet("stats1").field("date").interval("day"))
.addFacet(dateHistogramFacet("stats2").field("date").interval("day").zone("-02:00"))
.addFacet(dateHistogramFacet("stats3").field("date").valueField("num").interval("day").zone("-02:00"))
.addFacet(dateHistogramFacet("stats4").field("date").valueScript("doc['num'].value * 2").interval("day").zone("-02:00"))
.addFacet(dateHistogramFacet("stats5").field("date").interval("24h"))
.execute().actionGet();
if (searchResponse.failedShards() > 0) {
logger.warn("Failed shards:");
for (ShardSearchFailure shardSearchFailure : searchResponse.shardFailures()) {
logger.warn("-> {}", shardSearchFailure);
}
}
assertThat(searchResponse.failedShards(), equalTo(0));
DateHistogramFacet facet = searchResponse.facets().facet("stats1");
assertThat(facet.name(), equalTo("stats1"));
assertThat(facet.entries().size(), equalTo(2));
assertThat(facet.entries().get(0).time(), equalTo(utcTimeInMillis("2009-03-05")));
assertThat(facet.entries().get(0).count(), equalTo(2l));
assertThat(facet.entries().get(1).time(), equalTo(utcTimeInMillis("2009-03-06")));
assertThat(facet.entries().get(1).count(), equalTo(1l));
// time zone causes the dates to shift by 2
facet = searchResponse.facets().facet("stats2");
assertThat(facet.name(), equalTo("stats2"));
assertThat(facet.entries().size(), equalTo(2));
assertThat(facet.entries().get(0).time(), equalTo(timeInMillis("2009-03-04", DateTimeZone.forOffsetHours(-2))));
assertThat(facet.entries().get(0).count(), equalTo(1l));
assertThat(facet.entries().get(1).time(), equalTo(timeInMillis("2009-03-05", DateTimeZone.forOffsetHours(-2))));
assertThat(facet.entries().get(1).count(), equalTo(2l));
// time zone causes the dates to shift by 2
facet = searchResponse.facets().facet("stats3");
assertThat(facet.name(), equalTo("stats3"));
assertThat(facet.entries().size(), equalTo(2));
assertThat(facet.entries().get(0).time(), equalTo(timeInMillis("2009-03-04", DateTimeZone.forOffsetHours(-2))));
assertThat(facet.entries().get(0).count(), equalTo(1l));
assertThat(facet.entries().get(0).total(), equalTo(1d));
assertThat(facet.entries().get(1).time(), equalTo(timeInMillis("2009-03-05", DateTimeZone.forOffsetHours(-2))));
assertThat(facet.entries().get(1).count(), equalTo(2l));
assertThat(facet.entries().get(1).total(), equalTo(5d));
// time zone causes the dates to shift by 2
facet = searchResponse.facets().facet("stats4");
assertThat(facet.name(), equalTo("stats4"));
assertThat(facet.entries().size(), equalTo(2));
assertThat(facet.entries().get(0).time(), equalTo(timeInMillis("2009-03-04", DateTimeZone.forOffsetHours(-2))));
assertThat(facet.entries().get(0).count(), equalTo(1l));
assertThat(facet.entries().get(0).total(), equalTo(2d));
assertThat(facet.entries().get(1).time(), equalTo(timeInMillis("2009-03-05", DateTimeZone.forOffsetHours(-2))));
assertThat(facet.entries().get(1).count(), equalTo(2l));
assertThat(facet.entries().get(1).total(), equalTo(10d));
facet = searchResponse.facets().facet("stats5");
assertThat(facet.name(), equalTo("stats5"));
assertThat(facet.entries().size(), equalTo(2));
assertThat(facet.entries().get(0).time(), equalTo(utcTimeInMillis("2009-03-05")));